/*
 * @(#) $Header$
 *
 * Copyright (C) 2010  Forklabs Daniel Léonard
 *
 * This program is free software; you can redistribute it and/or
 * modify it under the terms of the GNU General Public License
 * as published by the Free Software Foundation; either version 2
 * of the License, or (at your option) any later version.
 *
 * This program is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 * GNU General Public License for more details.
 *
 * You should have received a copy of the GNU General Public License
 * along with this program; if not, write to the Free Software
 * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.
 */

/**
 * Package {@code ca.forklabs.crypto.md} contains the implementation of all the
 * message digest primitives.
 *
 * <h2>Related Documentation</h2>
 *
 * For the description of each algorithm, please see:
 * <ul>
 *    <li>
 * Cellhash - J. Daemen, R. Govaerts, and J. Vandewalle, J. Daemen, R. Govaerts, J. Vandewalle,
 * <i>A framework for the design of one-way hash functions including cryptanalysis of
 * Damg�rd's one-way function based on a cellular automaton</i>, Advances in Cryptology,
 * Proceedings Asiacrypt'91, LNCS 739, H. Imai, R.L. Rivest, and T. Matsumoto, Eds.,
 * Springer-Verlag, 1993, pp. 82-96.
 *       </li>
 *    <li>
 * HAVAL - Yuliang Zheng, Josef Pieprzyk Jennifer Seberry,
 * <i>HAVAL -- A One-Way Hashing Algorithm with Variable Length of Output</i>,
 * Lecture Notes in Computer Science, Vol. 718, Springer-Verlag, 1993, pp.83-104.
 *       </li>
 *    <li><a target="external" href="http://www.faqs.org/rfcs/rfc1319.html">RFC1319 - MD2</a></li>
 *    <li><a target="external" href="http://www.faqs.org/rfcs/rfc1320.html">RFC1320 - MD4</a></li>
 *    <li><a target="external" href="http://www.faqs.org/rfcs/rfc1186.html">RFC1186 - MD4Ext</a></li>
 *    <li><a target="external" href="http://www.faqs.org/rfcs/rfc1321.html">RFC1321 - MD5</a></li>
 *    <li>
 * RIPEMD - Antoon Bosselaers and Bart Preneel, <i>Integrity Primitives for Secure
 * Information Systems, Final Report of RACE Integrity Primitives Evaluation</i>,
 * Eds., Lecture Notes in Computer Science 1007, Springer Verlag, 1995, pp 69-111.
 *       </li>
 *    <li><a target="external" href="http://www.esat.kuleuven.ac.be/~bosselae/ripemd160.html">RIPEMD128</a></li>
 *    <li><a target="external" href="http://www.esat.kuleuven.ac.be/~bosselae/ripemd160.html">RIPEMD160</a></li>
 *    <li><a target="external" href="http://www.esat.kuleuven.ac.be/~bosselae/ripemd160.html">RIPEMD256</a></li>
 *    <li><a target="external" href="http://www.esat.kuleuven.ac.be/~bosselae/ripemd160.html">RIPEMD320</a></li>
 *    <li><a target="external" href="http://www.itl.nist.gov/fipspubs/fip180-1.htm">FIPS 180-1 - SHA1</a></li>
 *    <li><a target="external" href="http://csrc.nist.gov/cryptval/shs.html">The Secure Hash Standard - SHA256</a></li>
 *    <li><a target="external" href="http://csrc.nist.gov/cryptval/shs.html">The Secure Hash Standard - SHA384</a></li>
 *    <li><a target="external" href="http://csrc.nist.gov/cryptval/shs.html">The Secure Hash Standard - SHA512</a></li>
 *    <li>
 * SNEFRU - Ralph C. Merkle, <i>A Fast Software One Way Hash Function</i>,
 * Journal of Cryptology, Vol.3 #1, 1991, pp 43-62.
 *       </li>
 *    <li><a target="external" href="http://www.cs.technion.ac.il/~biham/Reports/Tiger/">Tiger</a></li>
 * </ul>
 *
 * @version $Revision$
 */
package ca.forklabs.crypto.md;

